package cn.kgm.user.server.struct;

import cn.kgm.user.dto.dto.UserLoginTypeSaveDTO;
import cn.kgm.user.dto.dto.UserLoginTypeUpdateDTO;
import cn.kgm.user.dto.entity.UserLoginType;
import cn.kgm.user.dto.query.UserLoginTypePageQuery;
import cn.kgm.user.dto.vo.UserLoginTypeVO;
import org.mapstruct.Builder;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

/**
 * # 技术改变自己 #
 * 用户可用登录类型表
 * @author Kappi
 * @date   2024-04-10 21:13:04
 */
@Mapper(builder = @Builder(disableBuilder = true))
public interface UserLoginTypeMappers {
    UserLoginTypeMappers INSTANCE = Mappers.getMapper(UserLoginTypeMappers.class);

    /**
     * 将 UserLoginTypeSaveDTO 映射成 UserLoginType 对象
     *
     * @param source 源对象
     * @return UserLoginType
     */
    UserLoginType mapToEntity(UserLoginTypeSaveDTO source);

    /**
     * 将 UserLoginTypeUpdateDTO 映射成 UserLoginType 对象
     *
     * @param source 源对象
     * @return UserLoginType
     */
    UserLoginType mapToEntity(UserLoginTypeUpdateDTO source);

    /**
     * UserLoginTypePageQuery 映射成 UserLoginType 对象
     *
     * @param source 源对象
     * @return UserLoginType
     */
        UserLoginType mapToEntity(UserLoginTypePageQuery source);

    /**
     * UserLoginType 映射成 UserLoginTypeVO 对象
     *
     * @param source 源对象
     * @return UserLoginTypeVO
     */
        UserLoginTypeVO mapToEntity(UserLoginType source);

    /**
     * UserLoginTypeVO 映射成 UserLoginType 对象
     *
     * @param source 源对象
     * @return UserLoginTypeVO
     */
        UserLoginType mapToEntity(UserLoginTypeVO source);

}
